home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Archives / GNU / gawk_2_15_5.lha / gawk-2.15.5 / io.ch < prev    next >
Text File  |  1995-01-20  |  2KB  |  105 lines

  1. Changes for IO.C by Andreas Scherer, January 20, 1995.
  2.  
  3. @x l.26
  4. #if !defined(VMS) && !defined(VMS_POSIX) && !defined(_MSC_VER)
  5. #include <sys/param.h>
  6. #endif
  7. #include "awk.h"
  8. @y
  9. #include "ansiawk.h"
  10. @z
  11.  
  12. @x l.49
  13. #if defined(MSDOS) || defined(OS2) || defined(atarist)
  14. #define PIPES_SIMULATED
  15. #endif
  16. @y
  17. #if defined(MSDOS) || defined(OS2) || defined(atarist) || defined(_AMIGA)
  18. #define PIPES_SIMULATED
  19. #endif
  20. #ifdef _AMIGA
  21. extern int fileno(FILE *);
  22. extern FILE *fdopen(int, const char *);
  23. #define _NFILE 23
  24. #endif
  25. @z
  26.  
  27. @x l.69
  28. static int pidopen P((IOBUF *iop, const char *name, const char *mode));
  29. static int useropen P((IOBUF *iop, const char *name, const char *mode));
  30. @y
  31. @z
  32.  
  33. @x l.376
  34.         case Node_redirect_pipe:
  35.             if ((rp->fp = popen(str, "w")) == NULL)
  36.                 fatal("can't open pipe (\"%s\") for output (%s)",
  37.                     str, strerror(errno));
  38.             rp->flag |= RED_NOBUF;
  39.             break;
  40. @y
  41. @z
  42.  
  43. @x l.504
  44.     if ((rp->flag & (RED_PIPE|RED_WRITE)) == (RED_PIPE|RED_WRITE))
  45.         status = pclose(rp->fp);
  46.     else if (rp->fp)
  47. @y
  48.     if (rp->fp)
  49. @z
  50.  
  51. @x l.649
  52.     const char *cp, *ptr;
  53. @y
  54.     const char *cp;
  55.     char *ptr;
  56. @z
  57.  
  58. @x l.767
  59. /* pidopen --- "open" /dev/pid, /dev/ppid, and /dev/pgrpid */
  60. @y
  61. #ifndef _AMIGA
  62. /* pidopen --- "open" /dev/pid, /dev/ppid, and /dev/pgrpid */
  63. @z
  64.  
  65. @x l.786
  66.     return 0;
  67. }
  68. @y
  69.     return 0;
  70. }
  71. #endif /* _AMIGA */
  72. @z
  73.  
  74. @x l.789
  75. /* useropen --- "open" /dev/user */
  76. @y
  77. #ifndef _AMIGA
  78. /* useropen --- "open" /dev/user */
  79. @z
  80.  
  81. @x l.838
  82.     return 0;
  83. }
  84. @y
  85.     return 0;
  86. }
  87. #endif /* _AMIGA */
  88. @z
  89.  
  90. @x l.861
  91.         { "/dev/pid",        8,    pidopen },
  92.         { "/dev/ppid",        9,    pidopen },
  93.         { "/dev/pgrpid",    11,    pidopen },
  94.         { "/dev/user",        9,    useropen },
  95. @y
  96. @z
  97.  
  98. @x l.1056
  99.     if ((name = tempnam(".", "pip")) == NULL)
  100.         return NULL;
  101. @y
  102.     if ((name = tmpnam("pip")) == NULL)
  103.         return NULL;
  104. @z
  105.